
#ifndef ICLONEABLE_H
#define ICLONEABLE_H

// Riccsson includes.
#include <Typedef.h>
#include <Defines.h>
#include <System/Object.h>

// using System.Runtime.InteropServices;

namespace Riccsson
{
	namespace System
	{
		class Object;

		// Summary:
		//     Supports cloning, which creates a new instance of a class with the same value
		//     as an existing instance.
		//[ComVisible(true)]
		interface ICloneable
		{
			// Summary:
			//     Creates a new object that is a copy of the current instance.
			//
			// Returns:
			//     A new object that is a copy of this instance.
			virtual GC_PTR<Object> Clone() = 0;
		};
	}
}

#endif // ICLONEABLE_H